xen/arm64: Use __flush_dcache_area instead of __flush_dcache_all
authorSuravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Tue, 21 Oct 2014 03:55:25 +0000 (20:55 -0700)
committerIan Campbell <ian.campbell@citrix.com>
Tue, 21 Oct 2014 08:02:28 +0000 (09:02 +0100)
commit91086d09f742ffceb499862562bbf50cd9e6aaeb
tree5e1673512b317fd64b6a857c23f0fd4841ab01da
parent250073f452484912ee21c63c5d9efca40f5398d9
xen/arm64: Use __flush_dcache_area instead of __flush_dcache_all

When booting with EFI, __flush_dcache_all does not correctly flush data.
According to Mark Rutland, __flush_dcache_all is not guaranteed to push
data to the PoC if there is a system-level cache as it uses Set/Way
operations.  Therefore, this patch switchs to use the "__flush_dcache_area"
mechanism, which is coppied from Linux.
Add flushing of FDT in addition to Xen text/data.
Remove now unused __flush_dcache_all and related helper functions.
Invalidate the instruction tlb before turning on paging
later on when starting Xen in EL2.

Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Signed-off-by: Roy Franz <roy.franz@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/arm64/cache.S
xen/arch/arm/arm64/head.S
xen/arch/arm/efi/efi-boot.h